package com.yunxi.vip.service;

import com.github.pagehelper.PageInfo;
import com.yunxi.order.pojo.OrderActualSalesVO;
import com.yunxi.sat.pojo.HandleVehicleVO;
import com.yunxi.vip.pojo.StoVehicleExpVO;
import com.yunxi.vip.pojo.VipManageVO;

import java.lang.reflect.InvocationTargetException;
import java.util.List;

/**
 * <p>
 * 体验车库存 服务类
 * </p>
 *
 * @author 
 * @since 2019-09-25
 */
public interface StoVehicleExpDubboService {

    StoVehicleExpVO getById(String id) throws InvocationTargetException, IllegalAccessException;

    void saveOrUpdate(StoVehicleExpVO pmsStoVehicleExpVO) throws InvocationTargetException, IllegalAccessException;

    void removeById(String id);

    PageInfo<StoVehicleExpVO> findPageByVO(StoVehicleExpVO pmsStoVehicleExpVO, Integer pageNum, Integer pageSize) throws InvocationTargetException, IllegalAccessException;

    void removeByListVo(List<StoVehicleExpVO> pmsStoVehicleExpVOList) throws IllegalAccessException, InvocationTargetException, InstantiationException;

    List listByVo(StoVehicleExpVO pmsStoVehicleExpVO);

    StoVehicleExpVO getByCas(String expId);

    int updateStatus(StoVehicleExpVO stoVehicleExpVO);

    PageInfo<StoVehicleExpVO> pageByCheckSales(StoVehicleExpVO stoVehicleExpVO, Integer pageNum, Integer pageSize);

    void checkSales(StoVehicleExpVO stoVehicleExpVO);

    PageInfo<HandleVehicleVO> pageHandleVehicle(VipManageVO vipApplyVO,Integer pageNum,Integer pageSize);

    PageInfo<OrderActualSalesVO> pageActualSales(VipManageVO vipApplyVO,Integer pageNum,Integer pageSize);
}
